home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / KENDL1.DEM < prev    next >
Text File  |  1991-04-29  |  2KB  |  76 lines

  1. PROGRAM d13r18(input,output);
  2. (* driver for routine KENDL1 *)
  3. (* look for correlations in ran0, ran3 and ran4 *)
  4. CONST
  5.    ndat=200;
  6. TYPE
  7.    gl32array = ARRAY [1..32] OF integer;
  8.    gl48array = ARRAY [1..48] OF integer;
  9.    gl56array = ARRAY [1..56] OF integer;
  10.    gl64array = ARRAY [1..64] OF integer;
  11.    glnarray = ARRAY [1..ndat] OF real;
  12.    name = PACKED ARRAY [1..4] OF char;
  13.    gl65reals = ARRAY [1..65] OF real;
  14. VAR
  15.    glnewkey : integer;
  16.    glinp,glkey,ip,ipm : gl64array;
  17.    glpow : gl65reals;
  18.    glicd,ipc1 : gl56array;
  19.    ipc2,iet : gl48array;
  20.    ipp : gl32array;
  21.    is : ARRAY [1..16,1..4,1..8] OF integer;
  22.    ibin : ARRAY [1..4,1..16] OF integer;
  23.    ksflg,cyflg,desflg : boolean;
  24.    gliseed : integer;
  25.    gly : real;
  26.    glv : ARRAY [1..97] OF real;
  27.    glinext,glinextp : integer;
  28.    glma : ARRAY [1..55] OF real;
  29.    i,idum,j : integer;
  30.    prob,tau,z : real;
  31.    data1,data2 : glnarray;
  32.    txt : ARRAY [1..3] OF name;
  33.  
  34. (*$I MODFILE.PAS *)
  35. (*$I RAN0.PAS *)
  36.  
  37. (*$I RAN3.PAS *)
  38.  
  39. (*$I DESKS.PAS *)
  40.  
  41. (*$I DES.PAS *)
  42.  
  43. (*$I RAN4.PAS *)
  44.  
  45. (*$I ERFCC.PAS *)
  46.  
  47. (*$I KENDL1.PAS *)
  48.  
  49. BEGIN
  50.    ksflg := true;
  51.    cyflg := true;
  52.    desflg := true;
  53.    txt[1] := 'RAN0'; txt[2] := 'RAN3'; txt[3] := 'RAN4';
  54.    writeln;
  55.    writeln('Pair correlations of RAN0, RAN3 and RAN4');
  56.    writeln;
  57.    writeln('Program':9,'Kendall tau':17,'Std. Dev.':16,'Probability':18);
  58.    FOR i := 1 to 3 DO BEGIN
  59.       idum := -1357;
  60.       FOR j := 1 to ndat DO BEGIN
  61.          IF (i = 1) THEN BEGIN
  62.             data1[j] := ran0(idum);
  63.             data2[j] := ran0(idum)
  64.          END ELSE IF (i = 2) THEN BEGIN
  65.             data1[j] := ran3(idum);
  66.             data2[j] := ran3(idum)
  67.          END ELSE IF (i = 3) THEN BEGIN
  68.             data1[j] := ran4(idum);
  69.             data2[j] := ran4(idum)
  70.          END
  71.       END;
  72.       kendl1(data1,data2,ndat,tau,z,prob);
  73.       writeln (txt[i]:8,tau:17:6,z:17:6,prob:17:6)
  74.    END
  75. END.
  76.